<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Hello H5+</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.speech">speech</a></h1>
<p>Speech模块管理语音输入功能，提供语音识别功能，可支持用户通过麦克风设备进行语音输入内容。通过plus.speech可获取语音输入管理对象。</p>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.speech.startRecognize">startRecognize</a>: 启动语音识别</li>
<li>
<a href="#plus.speech.stopRecognize">stopRecognize</a>: 停止语音识别</li>
</ul>
<h2>对象：</h2>
<ul><li>
<a href="#plus.speech.SpeechRecognizeOption">SpeechRecognizeOption</a>: JSON对象，语音识别参数</li></ul>
<h2>回调方法：</h2>
<ul>
<li>
<a href="#plus.speech.RecognitionSuccessCallback">RecognitionSuccessCallback</a>: 语音识别成功回调</li>
<li>
<a href="#plus.speech.RecognitionErrorCallback%20">RecognitionErrorCallback </a>: 语音识别失败回调</li>
</ul>
<h2>权限：</h2>
<p>permissions</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
	// ...
	"Speech": {
		"description": "语音输入"
	}
}
}
			</pre>
<h1><a name="plus.speech.SpeechRecognizeOption">SpeechRecognizeOption</a></h1>
<p>JSON对象，语音识别参数</p>
<pre class="prettyprint linenums">
interface plus.speech.SpeechRecognizeOption {
	attribute String engine;
	attribute String service;
	attribute Number timeout;
	attribute String lang;
	attribute String punctuation;
	attribute Boolean continue;
	attribute Number nbest;
	attribute Boolean userInterface;
	attribute EventHandler onstart;
	attribute EventHandler onend;
	attribute EventHandler onaudiostart;
	attribute EventHandler onaudioend;
	attribute EventHandler onrecognizestart;
	attribute EventHandler onrecognizeend;
}
				</pre>
<h2>说明：</h2>
<p class="des">
	控制语音识别引擎内部参数，在JS中为JSON对象，在启动语音识别时使用。
				</p>
<h2>属性：</h2>
<ul>
<li>engine: <em>(<font class="type">String</font>
	类型
)</em>语音识别引擎标识<br><p>用于兼容多语音识别引擎的浏览器，建议使用语音识别厂商的产品名称，如未设置或设置不正确则使用浏览器默认的语音识别引擎。</p>
</li>
<li>service: <em>(<font class="type">String</font>
	类型
)</em>语音识别引擎服务器地址<br><p>可使用url地址或ip地址，如service:192.168.1.99指定定制的语音识别引擎服务器。默认值为浏览器内置服务器地址。</p>
</li>
<li>timeout: <em>(<font class="type">Number</font>
	类型
)</em>语音识别超时时间<br><p>语音识别超时的时间，单位为ms，如timeout:60000，默认值为10s。</p>
</li>
<li>lang: <em>(<font class="type">String</font>
	类型
)</em>语音识别引擎的语言<br><p>
	用于定义语音识别引擎的语言，其取值需符合W3C的Language codes规范。
	目前讯飞语音支持以下语言：
	"zh-cn" - 中文，普通话；
	"en-us" - 英语；
	"zh-cantonese" - 中文，粤语；
	"zh-henanese" - 中文，河南话。
	默认值为“zh-cn”。

						</p>
</li>
<li>punctuation: <em>(<font class="type">Boolean</font>
	类型
)</em>识别结果中是否包含标点符号<br><p>
	true表示识别结果文本中包含标点符号，false表示识别结果文本中不包含标点符号。
	默认值为true。
						</p>
</li>
<li>continue: <em>(<font class="type">Boolean</font>
	类型
)</em>语音识别是否采用持续模式<br><p>设置为true表示语音引擎不会根据语音输入自动结束，识别到文本内容将多次调用successCallback函数返回，如果需要结束语音识别则必须调用stopRecognize接口，默认值为false。</p>
</li>
<li>nbest: <em>(<font class="type">Number</font>
	类型
)</em>指定识别结果识别包括多候选结果<br><p>用于指定识别结果识别包括多候选结果。如nbest:3，识别返回3个候选结果，默认值为1。</p>
</li>
<li>userInterface: <em>(<font class="type">Boolean</font>
	类型
)</em>识别时是否显示用户界面<br><p>用于指定识别时是否显示用户界面，设置为true表示显示浏览器内置语音识别界面；设置为false表示不显示浏览器内置语音识别界面。默认值为true。</p>
</li>
<li>onstart: <em>(<font class="type">EventHandler</font>
	类型
)</em>语音识别开始事件<br><p>事件函数，语音识别开始启动，在调用startRecognize方法后触发，与onend事件成对触发。</p>
</li>
<li>onend: <em>(<font class="type">EventHandler</font>
	类型
)</em>语音识别结束事件<br><p>事件函数，语音识别结束，在调用stopRecognize方法后触发，或者在引擎内部自动完成语音识别后触发，与onstart事件成对触发。</p>
</li>
<li>onaudiostart: <em>(<font class="type">EventHandler</font>
	类型
)</em>录音开始事件<br><p>事件函数，录音开始事件，启动语音识别后，调用设备麦克风设备开始一段语音录音时触发，与onaudioend事件成对触发。</p>
</li>
<li>onaudioend: <em>(<font class="type">EventHandler</font>
	类型
)</em>录音结束事件<br><p>事件函数，录音结束事件，调用麦克风完成一段语音录音时触发，与onaudiostart事件成对触发。</p>
</li>
<li>onrecognizestart: <em>(<font class="type">EventHandler</font>
	类型
)</em>录音识别开始事件<br><p>事件函数，录音识别开始事件，开始对语音录音数据分析识别，与onrecognizeend事件成对触发。</p>
</li>
<li>onrecognizeend: <em>(<font class="type">EventHandler</font>
	类型
)</em>录音识别结束事件<br><p>事件函数，录音识别结束事件，开始对语音录音数据分析识别完成，与onrecognizestart事件成对触发。</p>
</li>
</ul>
<h1><a name="plus.speech.RecognitionSuccessCallback">RecognitionSuccessCallback</a></h1>
<p>语音识别成功回调</p>
<pre class="prettyprint linenums">
void RecognitionSuccessCallback ( results ) {
	// Recognition success code
}
				</pre>
<h2>说明：</h2>
<p class="des">当语音识别成功时的回调函数，用于返回语音识别出的文本内容。</p>
<h2>参数：</h2>
<ul><li>results: 
		<em>(
			<font class="type">Array</font>[
						<font class="type">String</font>
						]
					
			)
			必选 </em>语音识别出的文本内容数组<br>语音识别出的候选文本内容，区配度高的在数组的前面，通过其length属性可获取总的候选内容的长度</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.speech.RecognitionErrorCallback%20">RecognitionErrorCallback </a></h1>
<p>语音识别失败回调</p>
<pre class="prettyprint linenums">
void RecognitionErrorCallback ( error ) {
	// Recognition error code
}
				</pre>
<h2>说明：</h2>
<p class="des">当语音识别失败时的回调函数，用于返回语音识别失败的错误信息。</p>
<h2>参数：</h2>
<ul><li>error: 
		<em>(
			<font class="type">DOMException</font>
			)
			必选 </em>语音识别失败的错误信息<br>
</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<br><br>
</div></body>
</html>
